package com.jeeplus.test.jlnu.admissionInfo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jeeplus.test.jlnu.admissionInfo.domain.entity.AdmissionInfo;
import com.jeeplus.test.jlnu.admissionInfo.domain.entity.ImportFailLog;
import com.jeeplus.test.jlnu.admissionInfo.domain.entity.JlnuTeachingArchives;
import com.jeeplus.test.jlnu.admissionInfo.domain.entity.Supplement;
import com.jeeplus.test.jlnu.admissionInfo.domain.vo.AdmissionInfoDto;
import com.jeeplus.test.jlnu.admissionInfo.domain.vo.AdmissionInfoReqVo;
import com.jeeplus.test.jlnu.admissionInfo.domain.vo.AdmissionInfoRespVo;
import org.springframework.http.ResponseEntity;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface AdmissionInfoService {

    Page<Map<String, Object>> getAdmissionInfoPage(AdmissionInfoReqVo admissionInfoReqVo, Page<AdmissionInfoRespVo> page);

    int batchUpdate(List<String> studentIds, AdmissionInfoDto admissionInfoDto);

    Supplement selectNullByStuId(String stuId);

    int updateArchival(Supplement supplement);

    void insertAdmission(AdmissionInfo admissionInfo);

    int insertAdmissions(List<AdmissionInfo> admissionInfoRespVos);

    ResponseEntity<byte[]> admissionDataDowload(List<String> ids,List<String> exportFields);

    JlnuTeachingArchives selectByStudentId(String studentId);

    void updateById(JlnuTeachingArchives existingRecord);

    void insert(JlnuTeachingArchives newRecord);

    void insertImportLog(ImportFailLog failLog);

    Page<ImportFailLog> getImportDataPage(int pageNum, int pagesize, Date startTime, Date endTime);

    int batchUpdateAdmissionInfo(AdmissionInfoReqVo admissionInfoReqVo);

    IPage<ImportFailLog> getImportPage(int pageNum, int pageSize, String getImportPage, String name, String xueHao, String importType,String templateId);

    int importLogAdd(ImportFailLog param);
}
